'use strict';

/**
 *
 */
angular.module('webApp')
    /**
     *   url_encode
     */
    .filter("url_encode", ['$filter', 'moment',
        function($filter, moment) {
            return function(t) {
                return encodeURIComponent(t);
            };
        }
    ])
    .filter('trusted', ['$sce', function($sce) {
        return function(html) {
            return $sce.trustAsHtml(html);
        };
    }])
    /**
     *   如果t是【标准时间对象】，输出格式化后的【当地时间】
     *   如果t是字符串，直接格式化输出。不转化。
     */
    .filter("ddtt", ['$filter', 'moment',
        function($filter, moment) {
            var timezone;
            if (window.localStorage.timezone) {
                timezone = window.localStorage.timezone;
            } else {
                timezone = moment.tz.guess();
            }
            return function(t, f) {
                f = f || 'lll';
                if (_.isString(t)) {
                    return moment(t).tz(timezone).format(f);
                } else if (t) {
                    return t.tz(timezone).format(f);
                }
            };
        }
    ])
    /**
     *   把【当地时间字符串t】格式化成【标准时间的格式化字符串】
     */
    .filter("stdTime", ['$filter', 'moment',
        function($filter, moment) {
            return function(t, f) {
                f = f || 'YYYY-MM-DD HH:mm:ss';
                if (_.isString(t)) {
                    return moment(t).tz("Etc/UTC").format(f);
                } else if (t) {
                    return t.tz("Etc/UTC").format(f);
                }
            };
        }
    ])

    /**
     *  当前时间
     */
    .filter("nowTime", ['$filter', 'moment',
        function($filter, moment) {
            return function() {
                return moment().format('YYYY-MM-DD HH:mm:ss');
            };
        }
    ])

    /**
     *  输出html
     */
    .filter('html', function($sce) {
        return $sce.trustAsHtml;
    })

     /**
     *  输出sku汉字
     */
    .filter('skuname',['$sce', function($sce) {
        // return $sce.trustAsHtml;
        return function(str) {
            var a=str.split(";");
            var z=[];
            for(var i in a){
                var b=a[i].split(":");
                if(b.length==4){
                    z.push(b[2]+":"+b[3]);
                }
            }
            return $sce.trustAsHtml(z.length>0?z.join("，"):str);
        };
    }])

    .filter('trusted', ['$sce', function($sce) {
        return function(url) {
            return $sce.trustAsResourceUrl(url);
        };
    }]);